﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CTP.CRM.Core.Common.Enums
{

    /// <summary>
    /// 系统所属
    /// </summary>
    public enum SystemPropertyEnum
    {
        /// <summary>
        /// 内部
        /// </summary>
        [Description("内部")] 内部 = 1,

        /// <summary>
        /// 外部
        /// </summary>
        [Description("外部")] 外部 = 2
    }

    /// <summary>
    /// 功能类型
    /// </summary>
    public enum FunctionEnum
    {
        /// <summary>
        /// 目录
        /// </summary>
        目录 = 1,

        /// <summary>
        /// 页面
        /// </summary>
        页面 = 2,
    }

    /// <summary>
    /// 角色类型
    /// </summary>
    public enum RoleType
    {
        /// <summary>
        /// 岗位
        /// </summary>
        [Description("岗位")] 岗位 = 1,

        /// <summary>
        /// 组织层级岗位
        /// </summary>
        [Description("组织层级岗位")] 组织层级岗位 = 2,

        /// <summary>
        /// 个人
        /// </summary>
        [Description("个人")] 个人 = 3,

        /// <summary>
        /// 组织层级
        /// </summary>
        [Description("组织层级")] 组织层级 = 4,

        /// <summary>
        ///业务角色名称
        /// </summary>
        [Description("业务角色名称")] 业务角色名称 = 5,
    }

    public enum LoginMode
    {
        /// <summary>
        /// 用户登录
        /// </summary>
        [Description("用户登录")] 用户登录 = 1,

        /// <summary>
        /// 邮件登录
        /// </summary>
        [Description("邮件")] Mail = 2,

        /// <summary>
        /// 微信登录
        /// </summary>
        [Description("微信")] Wx = 3,

        /// <summary>
        /// qq登录
        /// </summary>
        [Description("QQ")] QQ = 4,

        /// <summary>
        /// 单点登录
        /// </summary>
        [Description("单点登录")] SSO = 5,

        /// <summary>
        /// 飞书
        /// </summary>
        [Description("飞书")] 飞书 = 6,

        /// <summary>
        ///外部登录
        /// </summary>
        [Description("外部登录")] 外部登录 = 7,

        /// <summary>
        ///WMS临时登录
        /// </summary>
        [Description("WMS临时登录")] WMS临时登录 = 8
    }

    /// <summary>
    /// 界面下拉操作状态
    /// </summary>
    public enum OperStatus
    {
        /// <summary>
        /// 启用
        /// </summary>
        [Description("启用")] 启用 = 1,

        /// <summary>
        /// 禁用
        /// </summary>
        [Description("禁用")] 禁用 = 0
    }

    /// <summary>
    /// 子系统类型
    /// </summary>
    public enum SystemTypeEnum
    {
        /// <summary>
        /// Web
        /// </summary>
        [Description("Web")] Web = 1,

        /// <summary>
        /// 安装包
        /// </summary>
        [Description("安装包")] 安装包 = 2
    }

    /// <summary>
    /// 角色个人类型
    /// </summary>
    public enum RoleUserEnum
    {
        /// <summary>
        /// 角色
        /// </summary>
        [Description("角色")] 角色 = 1,

        /// <summary>
        /// 个人
        /// </summary>
        [Description("个人")] 个人 = 2
    }

    /// <summary>
    /// 转移回收类型
    /// </summary>
    public enum RecoveryReasonEnum
    {
        /// <summary>
        /// Role
        /// </summary>
        [Description("过期回收")] 过期回收 = 1,

        /// <summary>
        /// 移除权限项
        /// </summary>
        [Description("移除权限项")] 移除权限项 = 2,

        /// <summary>
        /// 移除拥有人致移除接收人
        /// </summary>
        [Description("移除拥有人致移除接收人")] 移除拥有人致移除接收人 = 3,


        /// <summary>
        /// 移除接收人
        /// </summary>
        [Description("移除接收人")] 移除接收人 = 4,

        /// <summary>
        /// 角色移除人员
        /// </summary>
        [Description("角色移除人员")] 角色移除人员 = 5,

        /// <summary>
        /// 提前回收
        /// </summary>
        [Description("提前回收")] 提前回收 = 6
    }

    /// <summary>
    /// 转移授权类型：1-离职，2-转岗，3-休假，4-出差
    /// </summary>
    public enum AgentTypeEnum
    {
        /// <summary>
        /// 离职
        /// </summary>
        [Description("离职")] 离职 = 1,

        /// <summary>
        /// 转岗
        /// </summary>
        [Description("转岗")] 转岗 = 2,

        /// <summary>
        /// 休假
        /// </summary>
        [Description("休假")] 休假 = 3,


        /// <summary>
        /// 出差
        /// </summary>
        [Description("出差")] 出差 = 4
    }

    /// <summary>
    /// 权限类型
    /// </summary>
    public enum AuthType
    {
        /// <summary>
        /// 权限分类
        /// </summary>
        [Description("权限分类")] 权限分类 = 1,

        /// <summary>
        /// 权限项
        /// </summary>
        [Description("权限项")] 权限项 = 2
    }

    /// <summary>
    /// 是否授权
    /// </summary>
    public enum IsAuthEnum
    {
        /// <summary>
        /// 已授权
        /// </summary>
        [Description("已授权")] Yes = 1,

        /// <summary>
        /// 未授权
        /// </summary>
        [Description("未授权")] No = 0
    }

    /// <summary>
    /// 数据权限类型
    /// </summary>
    public enum DataAuthTypeEnum
    {
        /// <summary>
        /// 自定义
        /// </summary>
        [Description("自定义")] 自定义 = 1,

        /// <summary>
        /// 人
        /// </summary>
        [Description("个人")] 人 = 2,

        /// <summary>
        /// 组织层级
        /// </summary>
        [Description("组织层级")] 组织层级 = 3,

        /// <summary>
        /// 角色
        /// </summary>
        [Description("角色")] 角色 = 4,
    }

    /// <summary>
    /// 权限来源
    /// </summary>
    public enum AuthSourceEnum
    {
        /// <summary>
        /// 个人分配
        /// </summary>
        [Description("个人分配")] 个人分配 = 1,

        /// <summary>
        /// 个人转移
        /// </summary>
        [Description("个人转移")] 个人转移 = 2,

        /// <summary>
        /// 角色分配
        /// </summary>
        [Description("角色分配")] 角色分配 = 3,

        /// <summary>
        /// 角色转移
        /// </summary>
        [Description("角色转移")] 角色转移 = 4,

        /// <summary>
        /// 人员分配
        /// </summary>
        [Description("人员分配")] 人员分配 = 5,

        /// <summary>
        /// 人员转移
        /// </summary>
        [Description("人员转移")] 人员转移 = 6,

        /// <summary>
        /// 组织分配
        /// </summary>
        [Description("组织分配")] 组织分配 = 7,

        /// <summary>
        /// 组织转移
        /// </summary>
        [Description("组织转移")] 组织转移 = 8
    }

    /// <summary>
    /// 角色个人用户类型
    /// </summary>
    public enum RoleUserAuthType
    {
        /// <summary>
        /// 直接拥有
        /// </summary>
        [Description("直接拥有")] 直接拥有 = 1,

        /// <summary>
        /// 转移拥有
        /// </summary>
        [Description("转移拥有")] 转移拥有 = 2
    }

    /// <summary>
    /// 外部用户账号类型(1.主账号 2.子账号)
    /// </summary>
    public enum ExternalUserAccountType
    {
        /// <summary>
        /// 主账号
        /// </summary>
        [Description("主账号")] 主账号 = 1,

        /// <summary>
        /// 子账号
        /// </summary>
        [Description("子账号")] 子账号 = 2
    }

    /// <summary>
    /// 发送手机验证码类型(0.无 1.修改手机号 2.忘记密码 3.子系统手机号登录 4.系统手机号登录)
    /// </summary>
    public enum SendValidationMessageType
    {
        /// <summary>
        /// 无
        /// </summary>
        [Description("无")] 无 = 0,

        /// <summary>
        /// 修改手机号
        /// </summary>
        [Description("修改手机号")] 修改手机号 = 1,

        /// <summary>
        /// 修改密码
        /// </summary>
        [Description("忘记密码")] 忘记密码 = 2,

        /// <summary>
        /// 子系统手机号登录
        /// </summary>
        [Description("子系统手机号登录")] 子系统手机号登录 = 3,

        /// <summary>
        /// 系统手机号登录
        /// </summary>
        [Description("系统手机号登录")] 系统手机号登录 = 4,

        /// <summary>
        /// 子系统忘记密码
        /// </summary>
        [Description("子系统忘记密码")] 子系统忘记密码 = 5,

        /// <summary>
        /// 外部用户注册
        /// </summary>
        [Description("外部用户注册")] 外部用户注册 = 6,

        /// <summary>
        /// 修改是否业务员发送短信
        /// </summary>
        [Description("修改是否业务员")] 修改是否业务员 = 7,

        /// <summary>
        /// 个人中心修改密码发送短信
        /// </summary>
        [Description("个人中心修改密码")] 个人中心修改密码 = 8,

        /// <summary>
        /// 访客用户
        /// </summary>
        [Description("访客用户")] 访客用户 = 9,
    }
}
